mathematical research linux exploit exploits unix design open source assembler cad security kernel programming hack java windows system internals reverse engineering c++ numerical algorithm engineering hacking cobol